package com.ruoyi.system.domain;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 离线包虚拟任务目标设备对象 tb_offline_task_target
 *
 * @author ruoyi
 * @date 2025-09-03
 */
@Data
public class TbOfflineTaskTarget extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 自增主键
     */
    private Long id;

    /**
     * 关联的任务详情ID(对应tb_task_detail.id)
     */
    @Excel(name = "关联的任务详情ID(对应tb_task_detail.id)")
    private Long taskDetailId;

    /**
     * 关联的设备ID(对应tb_device.id)
     */
    @Excel(name = "关联的设备ID(对应tb_device.id)")
    private Long deviceId;

    /**
     * 执行状态(0=待执行 1=执行中 2=成功 3=失败 4=已取消)
     */
    @Excel(name = "执行状态(0=待执行 1=执行中 2=成功 3=失败 4=已取消)")
    private Integer status;

    /**
     * 开始执行时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始执行时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startTime;

    /**
     * 执行完成时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "执行完成时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endTime;

    /**
     * 重试次数
     */
    @Excel(name = "重试次数")
    private Integer retryCount;

    /**
     * 错误信息
     */
    @Excel(name = "错误信息")
    private String errorMessage;

    /**
     * 执行进度(0-100)
     */
    @Excel(name = "执行进度(0-100)")
    private Double progress;


}
